#!/bin/bash
TEMPLATE=~/.git.commit.template
sudo cat > $TEMPLATE<<EOF


#   ------------- 范例 --------------
# docs(weekly-report): add final-report folder
#
# Add project summary folder final-report. The development process and major problems and improvements of the image classification and detection model will be reflected in the final-report.md file.
#   ----------- 格式参考 ------------
#
# <类型必填>:(影响范围) <主题必填> <JIRA?>
#
# [body]
#
# [footer]
#
#   ------------- 解释 --------------
# 类型字段包含:
#   1 build: 主要目的是修改项目构建系统(例如glup，webpack，rollup的配置等)的提交
#   2 ci:主要目的是修改项目继续完成集成流程(例如Travis，Jenkins，GitLab CI,Circle)的提交
#   3 doc：对应的文档更新
#   3 feat：项目中的新增功能(feature)
#   4 fix： bug修复，修复哪个issue要明确
#   5 pref：性能优化
#   6 refactor：重构代码(既没有新功能，也没有修复bug)
#   7 style：不影响程序逻辑的代码修改(更加规范，加入空白符，补全分号)
#   8 test：新增测试用例或是更新现有测试
#   9 revert：回滚某个更早之前的提交
#   10 chore： 不属于以上类型的其他类型
# 影响范围：
#     用于说明 commit 影响的范围，比如修改的登录页、账户中心页等，围有多个时候，可以使用 *
#     比如数据层，控制层，视图层等等，视项目的不同而不同。
# 主题：
#    commit目的的简短描述，不超过50个字符，第一人称现在时，比如change，而不是changed或changes，第一个字母小写。结尾不加英文句号(.)
# JIRA:
#    如果有对应的jira 请附上jira号
#
# Body 部分是对本次 commit 的详细描述，可以分成多行
#
#   ------------- 附加 --------------
# footer 目前用于两种情况。
#   1 不兼容的变动
#       所有不兼容的变动都必须在 footer 区域进行说明，以 BREAKING CHANGE: 开头，后面的是对变动的描述，变动的理由和迁移注释。
#   2 关闭 issue
#   ---------------------------------
#   Closes #123, #245, #992
#   ---------------------------------
#   3 Revert，如果 commit 用于撤销之前的 commit，这个 commit 就应该以 revert: 开头，后面是撤销这个 commit 的 header。
#   在 body 里面应该写 This reverts commit <hash>.，其中的 hash 是被撤销 commit 的 SHA 标识符。
#   ---------------------------------
#   revert: feat(pencil): add 'graphiteWidth' option
#   This reverts commit 667ecc1654a317a13331b17617d973392f415f02.
#   ---------------------------------
EOF
git config --global commit.template $TEMPLATE
# 查看全局配置
cat ~/.gitconfig
# 修改默认编译器
# git config --global core.editor Code
